// server/utils/defineWrappedResponseHandler.ts
import { defineEventHandler } from 'h3'
import type { EventHandler } from 'h3'

/**
 * 接收一个原始 handler（路由处理函数），返回一个“带统一错误处理”的新 handler
 */
export function exceptionCapture(handler: EventHandler) {
  return defineEventHandler(async (event) => {
    try {
      // 正常调用原始逻辑
      return await handler(event)
    } catch (err) {
      // 如果原始逻辑抛了错误，就返回固定格式
      // console.error("[Wrapped Error]", err)
    console.error("[Server API Error]");
      return { msg: "错误请求", status: 0, data: null }
    }
  })
}
